#include <cstdio>
#include <set>
#include <iostream>
#include <algorithm>
using namespace std;
set<int>a1,b1;//a:chang;b:kuang; 
multiset<int>a2;
multiset<int>b2;

int main()
{
	int w,h,n,x;
	char c;
	while(scanf("%d %d %d",&w,&h,&n)!=EOF)
	{
		a1.clear();
		b1.clear();
		a2.clear();
		b2.clear();
		a1.insert(0);
		a1.insert(w);
		b1.insert(0);
		b1.insert(h);
		a2.insert(w);
		b2.insert(h);
		for(int i = 0;i<n;i++)
		{
			scanf(" %c %d",&c,&x);
			if(c=='H')
			{
				b1.insert(x);
				int draw = *(--b1.find(x));
				int up = *(++b1.find(x));
				
				//printf("*%d %d\n",up,draw);
				b2.insert(up-x);
				b2.insert(x-draw);
				b2.erase(b2.find(up-draw));
			}
			else
			{
				a1.insert(x);
				int l = *(--a1.find(x));
				int r = *(++a1.find(x));
				a2.insert(r-x);
				a2.insert(x-l);
				a2.erase(a2.find(r-l));
			}
			long long int ans1 = *--a2.end();
			long long int ans2 = *--b2.end();
			printf("%I64d\n",ans1*ans2);
		}
	}
} 
